Home | S-100 Boards | History | New Boards | Software | Forum | Boards For Sale | Web Sites | Quiz | Index |
A Z80 Monitor
Program
My first computer was centered around the TDL system monitor board. This very useful S-100 board had a wonderful Z80 monitor in its custom 4K ROM. It was called "Zapple". It was an extension of an 8080 monitor program written by Roger Amidon called "Apple" back in the mid 70's. It had all the basic requirements such as allowing the user to examine/modify RAM or IO ports. Output to a console, printer, punch, tape reader (these were the Teletype days) or cassette recorder. It was really the first to do the obvious, namely have all jump calls at the start of the program - for easy access by other programs and allow redirection of output by changing an "IOBYTE" stored in an IO port.
Over the years this monitor code has been copied and
modified many times over by others. I too have extensively modified it to
incorporate things like booting the first sector of a floppy disk to load
CPM. Or doing the same thing for my hard disk. I even have code in there to
direct output to my speech synthesizer, run a date/clock chip etc. I
no longer use the origional SMB, instead the monitor now resides in the
EEPROM of the
S100Computers Z80 CPU Board.
I am enclosing the complete
source code for the monitor here
The source code itself can be downloaded by clicking on
master (V4.57).zip
MASTER.Z80
The above ROM based monitor
normally resides at 0F000H. However for testing purposes it can be assembled to
run at 100H where it should run in a CPM system with no conflicts. The monitor is
really split into two 2K sections. The first section contains a table for
all the "normal" monitor jump options like displaying or modifying memory or ports.
The second section at 0F800H contains a jump table for CPM BIOS routines. Some of
my older (pre-CPM3) software counts on these locations being there. The monitor
resided in a 2732 PROM chip on a Intersystems Z80 CPU board. As with any such monitor
there are some extremely hardware specific sections. Major sections consist of the
following:-
This page was last modified on 07/08/2011